diff -aur Amaya11.3.1/Amaya/thotlib/image/pnghandler.c Amaya11.3.1.new/Amaya/thotlib/image/pnghandler.c
--- Amaya11.3.1/Amaya/thotlib/image/pnghandler.c	2009-09-09 11:54:50.000000000 +0200
+++ Amaya11.3.1.new/Amaya/thotlib/image/pnghandler.c	2010-08-17 20:42:10.823505508 +0200
@@ -10,9 +10,9 @@
  *          R. Guetari (W3C/INRIA) - Initial Windows version
  */
 
+#include "png.h"
 #include "thot_gui.h"
 #include "thot_sys.h"
-#include "png.h"
 #include "constmedia.h"
 #include "typemedia.h"
 #include "picture.h"
@@ -128,13 +128,13 @@
   png_byte      **ppbRowPointers;
   unsigned char  *pixels;
   unsigned int    i, j, passes;
-  unsigned long   lw, lh;
+  png_uint_32 lw, lh;
   int             iBitDepth, iColorType;
   double          dGamma;
 
     /* Checks the eight byte PNG signature*/
     fread (pbSig, 1, 8, pfFile);
-    if (!png_check_sig (pbSig, 8))
+    if (png_sig_cmp (pbSig, 0, 8))
         return NULL;	
     /* create the two png(-info) structures*/
     png_ptr = png_create_read_struct (PNG_LIBPNG_VER_STRING, 
@@ -169,13 +169,13 @@
       png_set_strip_16 (png_ptr);
     /* Grayscale =>RGB or RGBA */
     if (iColorType == PNG_COLOR_TYPE_GRAY || iColorType == PNG_COLOR_TYPE_GRAY_ALPHA)
-      png_set_gray_to_rgb (png_ptr);
+      png_set_expand_gray_1_2_4_to_8(png_ptr);
     /* Palette indexed colors to RGB */
     if (iColorType == PNG_COLOR_TYPE_PALETTE)
       png_set_palette_to_rgb (png_ptr);
     /* 8 bits / channel is needed */
     if (iColorType == PNG_COLOR_TYPE_GRAY && iBitDepth < 8) 
-      png_set_gray_1_2_4_to_8(png_ptr);
+      png_set_expand_gray_1_2_4_to_8(png_ptr);
     /* all transparency type : 1 color, indexed => alpha channel*/
     if (png_get_valid (png_ptr, info_ptr,PNG_INFO_tRNS)) 
       png_set_tRNS_to_alpha (png_ptr);
@@ -822,7 +822,7 @@
    TtaReadClose (fp);
    if (ret != 8)
       return FALSE;
-   ret = png_check_sig ((png_byte*)buf, 8);
+   ret = !png_sig_cmp ((png_byte*)buf, 0, 8);
    if (ret) return (TRUE);
    return(FALSE);
 }

